Autogenerated HTML docs for v1.7.12-395-g6b149 
diff --git a/gitcli.txt b/gitcli.txt index 3e72a5d..f6ba90c 100644 --- a/gitcli.txt +++ b/gitcli.txt 
@@ -37,11 +37,28 @@  file called HEAD in your work tree, `git diff HEAD` is ambiguous, and  you have to say either `git diff HEAD --` or `git diff -- HEAD` to  disambiguate. - ++  When writing a script that is expected to handle random user-input, it is  a good practice to make it explicit which arguments are which by placing  disambiguating `--` at appropriate places.   + * Many commands allow wildcards in paths, but you need to protect + them from getting globbed by the shell. These two mean different + things: ++ +-------------------------------- +$ git checkout -- *.c +$ git checkout -- \*.c +-------------------------------- ++ +The former lets your shell expand the fileglob, and you are asking +the dot-C files in your working tree to be overwritten with the version +in the index. The latter passes the `*.c` to Git, and you are asking +the paths in the index that match the pattern to be checked out to your +working tree. After running `git add hello.c; rm hello.c`, you will _not_ +see `hello.c` in your working tree with the former, but with the latter +you will. +  Here are the rules regarding the "flags" that you should follow when you are  scripting git: